package com.scw.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 
 * @Description MD5工具类
 * @author 王华聪
 * @time 2012-5-13
 * @version v1.0
 */
public class MD5Util {
	private String inStr;
	private MessageDigest md5;
	
	public MD5Util(){
	}
	public MD5Util(String inStr){
		this.inStr=inStr;
		try {
			this.md5=MessageDigest.getInstance("MD5");
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
	}

	public String compute(){
		char[] charArray=this.inStr.toCharArray();
		byte[] byteArray= new byte[charArray.length];
		for(int i=0;i<charArray.length;i++)
			byteArray[i]=(byte)charArray[i];
		byte[] md5Bytes= this.md5.digest(byteArray);
		StringBuffer hexValueBuffer = new StringBuffer();
		for(int i=0;i<md5Bytes.length;i++){
			int val=((int)md5Bytes[i])&0xff;
			if(val<16)hexValueBuffer.append("0");
			hexValueBuffer.append(Integer.toHexString(val));
		}
		
		return hexValueBuffer.toString();
	}
	
	public static void main(String[] args) {
		MD5Util m= new MD5Util("123");
		System.out.println(m.compute());
	}
	
	public String toString(){
		return compute();
	}
}
